package com.shrct.businessprocess.budget;

import com.shrct.businessprocess.budget.impl.RCSaleContractPayConditionImpl;
import com.shrct.businessprocess.budget.proxy.RCSaleContractPayConditionProxy;
import com.shrct.businessprocess.common.RCSaleContractPayConditionCode;
import com.shrct.businessprocess.project.RCProject;
import com.shrct.businessprocess.project.RCProjectMoney;
import edu.fudan.mylang.pf.EntityImplementation;
import edu.fudan.mylang.pf.IModelObject;

@EntityImplementation(implementBy = RCSaleContractPayConditionImpl.class)
public interface RCSaleContractPayCondition extends IModelObject {
  public abstract RCSaleContractPayConditionCode getCode();
  
  public abstract RCSaleContractPayCondition setCode(final RCSaleContractPayConditionCode code);
  
  public abstract Double getPayPrecent();
  
  public abstract RCSaleContractPayCondition setPayPrecent(final Double payPrecent);
  
  public abstract Integer getDeliverDate();
  
  public abstract RCSaleContractPayCondition setDeliverDate(final Integer deliverDate);
  
  public abstract RCProject getProject();
  
  public abstract RCSaleContractPayCondition setProject(final RCProject project);
  
  /**
   * 计算超期资金占用费
   */
  public abstract RCProjectMoney getCBDEfc();
  
  public abstract RCSaleContractPayConditionProxy toProxy();
}
